home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-05-22 | 3.3 KB | 178 lines | [TEXT/CWIE] |
- // Menu code and constants
-
- // Self header
- #include "appmenus.h"
-
- // Application-specific headers
- #include "app.h"
-
- // API headers
- #include "qtvrsupp.h"
-
- // System headers
- #include <Devices.h>
- #include <LowMem.h>
- #include <Menus.h>
- #include <Resources.h>
- #include <ToolUtils.h>
-
- /////
- //
- // Local Prototypes
- //
- /////
-
- void DoAbout(void);
-
- /////
- //
- // Initialize the Menu Bar
- //
- /////
-
- void MenuBarInit()
- {
- SetMenuBar (GetNewMBar(128));
- AddResMenu (GetMenuHandle(AppleMenuID), 'DRVR');
- DrawMenuBar();
- // This should add menus one-by-one for additional modules
- // Then disabling USEQTVR would correctly disable the menu
- }
-
-
- /////
- //
- // Set up the menus to handle a hotkey or menu selection
- //
- /////
-
- void DoMenuSetup(void)
- {
- MenuHandle mh;
- MovieInstance *theMovieInstance;
-
- theMovieInstance = GetValidMovieInstance(nil);
-
- // Default Apple menu setup
- mh = GetMHandle (AppleMenuID);
- EnableItem (mh, iAppleAbout); // Now we support About...
-
- // Default File menu setup
- mh = GetMHandle (FileMenuID);
- EnableItem (mh, iFileOpen);
- EnDisItem (mh, iFileClose, (theMovieInstance != nil));
- DisableItem (mh, iFileSave);
- DisableItem (mh, iFileSaveAs);
- EnableItem (mh, iFileQuit);
-
- // Default Edit menu setup
- mh = GetMHandle (EditMenuID);
- DisableItem (mh, iEditUndo); // Don't allow editing of Movie.
- DisableItem (mh, iEditCut);
- DisableItem (mh, iEditCopy);
- DisableItem (mh, iEditPaste);
- DisableItem (mh, iEditClear);
-
- mQTVRMenuSetup();
- }
-
-
- void DoAbout(void);
- void DoAbout(void)
- {
- Handle soundHandle;
- short saveResFile;
-
- saveResFile = CurResFile();
- UseResFile(LMGetCurApRefNum());
- soundHandle = Get1Resource('snd ', 128); // Get a sound
- if (soundHandle != nil) {
- SndPlay(nil, (SndListHandle)soundHandle, false); // and play it
- ReleaseResource(soundHandle);
- } // if we didn't get a sound, oh well...
- UseResFile(saveResFile);
-
- Alert(128, nil);
- }
-
- /////
- //
- // Handle Menu selections
- //
- /////
-
- void DoMenuChoice(long menuResult)
- {
- short menuID, menuItem, daRefNum;
- Str255 daName;
- Boolean MenuChoiceHandled = true;
-
- SetCursor(&qd.arrow);
-
- menuID = HiWord(menuResult);
- menuItem = LoWord(menuResult);
-
- switch (menuID) {
-
- case AppleMenuID:
- switch (menuItem) {
- case iAppleAbout:
- DoAbout();
- break;
- default:
- GetItem(GetMHandle(AppleMenuID), menuItem, daName);
- daRefNum = OpenDeskAcc(daName);
- break;
- }
- break;
-
- case FileMenuID:
- switch (menuItem) {
- case iFileOpen:
- StandardFileOpenMovie();
- break;
- case iFileClose:
- CloseMovieByWindow(FrontWindow());
- break;
- case iFileSave:
- break;
- case iFileSaveAs:
- break;
- case iFileQuit:
- g.Done = true;
- break;
- default:
- MenuChoiceHandled = false;
- break;
- }
- break;
-
- case EditMenuID:
- UserMessage("\pEdit Menu functions not supported.");
- break;
- #if 0
- EditMenuID,
- iEditUndo = 1,
- iMenuSeparator201,
- iEditCut,
- iEditCopy,
- iEditPaste,
- iEditClear
- #endif // #if 0
- default:
- MenuChoiceHandled = false;
- break;
- }
-
- if (!MenuChoiceHandled)
- MenuChoiceHandled = mQTVRDoMenuChoice(menuResult);
-
- // etc...
- // if (!MenuChoiceHandled)
- // MenuChoiceHandled = mQTVRDoMenuChoice(menuResult);
-
-
- HiliteMenu(0); // Unhighlight what MenuSelect (or MenuKey) hilited.
- }
-
-